跳到主要内容

Bookease

概述 #

BookEase 是一个轻量级的记账应用项目,由 PERN 技术栈(PostgreSQL、Express.js、React、Node.js)驱动。

点击查看此项目

项目亮点 #

前端 #

  • 语言: 使用 TypeScriptTSX 编写,确保类型安全和更好的开发者体验。
  • 状态管理: 使用 Zustand 进行全局状态管理。
  • 数据获取: 使用 SWR(stale-while-revalidate)库实现 无限加载
  • HTTP 客户端: 自定义 Axios 实例,实现与后端的无缝交互。
  • 数据可视化: 使用 Echarts 创建交互式和美观的统计可视化图表。
  • 性能优化: 实现了 懒加载代码拆分 以提高性能并减少初始加载时间。

后端 #

  • 框架: 使用 Express.js 构建强大且灵活的 HTTP 服务器框架。
  • 语言: 使用 TypeScript 开发 RESTful API
  • 身份验证: 使用 JWT 进行用户身份验证,并编写自动鉴权 中间件
  • 邮件通信: 集成 Nodemailer,在用户注册和登录时发送邮件,增强用户通信和安全性。

数据管理 #

  • 数据库: 数据存储在 PostgreSQL 数据库中,通过 Prisma 管理,简化了数据库交互和迁移。

部署 #

  • CI/CD: 配置 Github Action ,利用 Docker 实现自动容器化部署。
  • Web 服务器: 项目最终由 Nginx 呈现,处理静态文件服务和后端 API 的反向代理。

查看源代码: #

前端: React-Bookkeeper
后端: React-Bookkeeper-Backend